From: Tarun Kumar Joshi Date: Mon, 24 Jun 2013 21:40:30 +0000 (+0530) Subject: overviewControls: Slide dash and workspace switcher when entering and exiting overview X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~3735 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=6a7fa52879d5326dde1166caae3eaaa713dad6bc;p=gnome-shell.git overviewControls: Slide dash and workspace switcher when entering and exiting overview Adds a slide in effect to dash and workspace switcher when entering the overview and adds a slide out effect while exiting it. http://bugzilla.gnome.org/show_bug.cgi?id=694262 --- diff --git a/js/ui/overviewControls.js b/js/ui/overviewControls.js index b04008de1..12ab2aa97 100644 --- a/js/ui/overviewControls.js +++ b/js/ui/overviewControls.js @@ -207,6 +207,7 @@ const SlidingControl = new Lang.Class({ slideIn: function() { this.visible = true; + this._updateTranslation(); // we will update slideX and the translation from pageEmpty }, @@ -246,6 +247,7 @@ const ThumbnailsSlider = new Lang.Class({ this.actor.add_actor(this._thumbnailsBox.actor); Main.layoutManager.connect('monitors-changed', Lang.bind(this, this.updateSlide)); + Main.overview.connect('hiding', Lang.bind(this, this.slideOut)); this.actor.connect('notify::hover', Lang.bind(this, this.updateSlide)); this._thumbnailsBox.actor.bind_property('visible', this.actor, 'visible', GObject.BindingFlags.SYNC_CREATE); }, @@ -273,6 +275,13 @@ const ThumbnailsSlider = new Lang.Class({ return alwaysZoomOut; }, + _onOverviewShowing: function() { + this.visible = true; + this.layout.slideX = this.getSlide(); + this.actor.translation_x = this._getTranslation(); + this.slideIn(); + }, + getNonExpandedWidth: function() { let child = this.actor.get_first_child(); return child.get_theme_node().get_length('visible-width'); @@ -323,6 +332,7 @@ const DashSlider = new Lang.Class({ this.actor.add_actor(this._dash.actor); this._dash.connect('icon-size-changed', Lang.bind(this, this.updateSlide)); + Main.overview.connect('hiding', Lang.bind(this, this.slideOut)); }, getSlide: function() { @@ -332,6 +342,13 @@ const DashSlider = new Lang.Class({ return 0; }, + _onOverviewShowing: function() { + this.visible = true; + this.layout.slideX = this.getSlide(); + this.actor.translation_x = this._getTranslation(); + this.slideIn(); + }, + _onWindowDragBegin: function() { this.fadeHalf(); },